#include <iostream>

using namespace std;

const int N = 110;

int n;
int a[N];
int f[N], g[N]; // f表示从左往右的最长上升子序列，g表示从右往左的最长上升子序列

int main()
{
	cin >> n;
	for(int i = 1; i <= n; i++) cin >> a[i];

	//f[i]表示以i元素为结尾的最长子序列的长度
	for(int i = 1; i <= n; i++)
	{
		f[i] = 1;
		for(int j = 1; j < i; j++)
		{
			if(a[j] < a[i])
			{
				f[i] = max(f[i], f[j] + 1);
			}
		}
	}	

	//g[i]表示以i元素为结尾的最长子序列的长度
	for(int i = n; i >= 1; i--)
	{
		g[i] = 1;
		for(int j = n; j > i; j--)
		{
			if(a[i] > a[j])
			{
				g[i] = max(g[i], g[j] + 1);
			}
		}
	}	

	int ret = 0; // 最长的合唱队形
	for(int i = 1; i <= n; i++)
	{
		ret = max(ret, f[i] + g[i] - 1);
	}

	cout << n - ret << endl;

	return 0;
}

